Programming apparatus

ABSTRACT

A programming apparatus having an arrangement for formulating an automating task to be performed in the form of a programming language for automating apparatuses is described, which simplifies a process error analysis for an analysis unit. For this purpose, the programming apparatus is provided with an arrangement that store operands ( 9; 27 ), marked to be monitored, in the order in which they appear in the network in a logic list. Furthermore, the programming apparatus has an arrangement that store the operands of this network in an operand list in the order in which they appear in the network. The lists can be transferred into the analysis unit for analysis.

FIELD OF THE INVENTION

The present invention relates a programming apparatus having arrangementfor formulating an automation task to be performed in the form of aprogramming language for automation apparatuses, in particular aprogramming language allowing a function plan graph and/or aninstruction list and/or a contact plan to be displayed on a displayunit, the function plan diagram and/or instruction list and/or contactplan being provided with at least one network having operands and theirlogic operations and the arrangement generating a control program fromthe automating task formulated, which can be run on an automationapparatus, for controlling an industrial process. Furthermore, thepresent invention relates an analysis unit for analyzing a process errorin a network.

BACKGROUND INFORMATION

A programming apparatus such as the above-described is described in thepublication “Automatisieren mit SIMATIC S5-115U” (Automating withSIMATIC S5-115U) by Hans Berger, 1995. A user can also formulate themode of process monitoring in addition to formulating the automatingtask. Both the subprogram thus formulated for process monitoring and thesubprogram thus formulated for automating are components of a userprogram, which is compiled using a suitable compiler and finallytransferred into a control program that can be run in an automatingapparatus in the form of such a control program. Because the processmonitoring task is formulated together with the automation task, theuser program is difficult to read and unclear if subprogram branchingfrequently occurs.

German Utility Application 297 10 751.8, describes that designingprocess monitoring be made possible through the selection and marking ofoperands, for example, of a contact plan that can be displayed on adisplay unit, the selected and marked operands being transferred into aprocess monitoring program via a program interface.

SUMMARY

An object of the present invention is to provide a programming apparatusof the type named in the preamble that would simplify process erroranalysis by an analysis unit.

This object is achieved by the features provided according to thepresent invention.

By separating the operands and operations (logical operations) that canbe stored in an operand list and in a logic list, a process error can beanalyzed at any time in an analysis unit, which can be a component ofthe programming apparatus. The only requirement is that the status ofeach operand of the network provided with the marked operands bedetected. The status of the operands is detected during the processingcycles in the control mode of the automation apparatus, whereby it isensured that process error analysis can be performed with the operandvalues that were present at the time the process error appeared.

In one embodiment of the present invention, the automating apparatus canbasically process the actual control program due to the fact that thestatus of the operands is only input in the event of an error or afterpredefinable points in time.

In one embodiment of the present invention, process monitoring can bedesigned in the same context as the formulation of the automating task,the user concentrating basically on achieving the actual object, namelythe formulation of this automating task.

In another embodiment of the present invention, the design measures canbe clearly represented on a display device, thus largely avoiding designerrors.

Due to the fact that, by marking an operand, a parameter mask assignedto this operand can be displayed on the display unit, with at least onemonitoring criterion of the operand being defined by parameters, designis simplified and design costs are reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the components of an automating system.

FIG. 2 shows a contact plan of an automating program and an operandparameter mask.

FIG. 3 shows another contact plan, an operand list and a logic list.

DETAILED DESCRIPTION

In FIG. 1, a programming apparatus 1 is connected to an automatingapparatus 3 and an analysis unit 37 via a system bus 2 having addresslines, data lines, and control lines. Other components of the automatingsystems, e.g., operating and monitoring devices, peripherals, or otherautomating apparatuses are not shown for the sake of simplicity and arenot needed for elucidating the present invention. The programmingapparatus is provided with an arrangement 4 in the form of a processor,a memory, and a software tool, which are provided for formulating anautomation task to be performed in the form of a programming language.Usually a programming language, which allows a user program to bedisplayed in a function plan diagram 5 and/or in a contact plan diagram6 and instruction list 7 is used for formulating an automating task.Function diagram 5, contact plan 6, and instruction list 7 can bedisplayed on a display unit 8 of programming apparatus 1, with thearrangement 4 of programming apparatus 1 translating the automating taskthus formulated into an appropriate control program and transferring itinto a memory of automating apparatus 3 on line via system bus 2.Transfer can, of course, be also accomplished off-line using a suitabledata medium, on which the control program can be stored; this medium canbe inserted in a medium drive of automating apparatus 3 and automatingapparatus 3 inputs the control program from this medium. The controlprogram that can be run on automating apparatus 3 is provided forcontrolling an industrial process, apporiate function modules in theautomating apparatus, suitable sensors and/or actuators, as well asfinal controlling elements affect the industrial process under thecontrol of the control program.

Below, reference is made to FIG. 2, where a contact plan of a simpleautomating program and an operand parameter mask are represented. It isassumed that a user processes a process element, in the present example,an operand 9, while the automating program is being produced. At thistime, a designer- operator can monitor the process by selecting operand9 using an operating element, e.g., an operating element in the form ofa mouse, and marking this operand, which is displayed in the presentexample via a display attribute in the form of a broken-line frame ofoperand 9. Of course, color-coded marking is also possible. In thepresent example, process monitoring is limited to monitoring operand 9.After the user has selected and marked operand 9, a parameter mask 13corresponding to operand 9 appears on display unit 8 of programmingapparatus 1, in which the user can define monitoring criteria. In thepresent example, it is established that when the level of operand 9 haszero value for a period of 2000 ms, an error message is displayed ondisplay unit 8. For this purpose, the user has marked a field 14, whichis also illustrated by a broken-line frame, and the delay time of 2000ms is input in a field 15. The user defines the type of error message tobe output. For this purpose, the user writes a text in a text field 16,which is to be displayed in the event of an error in display unit 8.

The selected and marked operand 9 is transferred, after completion ofthe design work, together with the parameters, which the user has inputin the parameter mask, to a process monitoring program 18 in programmingapparatus 1 by the arrangement 4 via program interface 17 (FIG. 1).Program interface 17 and process monitoring program 18 can be parts ofmeans 4 of programming apparatus 1. As is described below, processmonitoring program 18 prepares a logic list and an operand list on thebasis of the marked operand 9. FIG. 3 shows another contact plan 19 anda logic list 20, as well as an operand list 21.

It is assumed that an operand 27 is to be monitored and a user hasmarked this operand 27 (in contact plan 19 represented by a brokenline). Subsequently the arrangement 4 transfer the operand and itsoperations in network 19 to process monitoring program 18. Processmonitoring program 18 stores the logic operators of network 19, whichhas marked operand 27, in the order they appear in network 19 in logiclist 20 and transfers them into an analysis unit 37 (FIG. 1).Furthermore, process monitoring program 18 stores operands 22, 23, 24,25, 26, and 27 of network 19, which includes marked operand 27, in theorder they appear in network 19 into operand list 21 and transfers thelatter into automating apparatus 3 (FIG. 1). In the present example, thelevel of operand 27 is “1” when the level of operands 22, 23, and 24 is“1” or the level of operands 22, 25, ad 26 is “1.” The logic operationsof the operands are stored as described in the publication“Automatisieren mit SIMATIC S5-115U” (Automating with SIMATIC S5-115U)by Hans Berger, 1995, in logic list 20, the operands on which theoperations are to be applied being stored in operand list 21. In thatexample the AND operation in field 28 is to be used on operand 22 (field38), the AND operation in field 29 and in field 35 belonging to field 29is to be used either on the result of the operation of the AND andNOT-AND operations of operands 23 and 24 in fields 39 and 40 (see ANDand NOT-AND operations in fields 30, 31) or (see OR operation in field32) on AND operations of operands 25 and 26 in fields 41, 42 (see ANDoperations in fields 33, 34). The result of the operations, i.e., thelevel of operand 27, is stored in field 43.

During processing cycles in control mode, automating apparatus 3 inputsthe status of operands 22-27 in operand list 21 in the event of an erroror in time intervals defined by the user. It is now assumed that aprocess error occurs during a processing cycle and the level of operand27 has an inadmissible level zero, for example. The reason for thiserror can be analyzed by initially transferring operand list 21 intoanalysis unit 37 (FIG. 1). Analysis unit 37 reconstructs network 19 fromlogic list 20 and operand list 21 and determines which of operands 22-26is responsible for the erroneous zero level of operand 27.

Using the present invention, advantageously only those data are detectedwhich are necessary for the network to be analyzed. The status of theindividual operands in the event of an error can be retrieved by theanalysis unit at any later time; the operand list is then preferablyinput by the analysis unit when the bus load is lowest.

What is claimed is:
 1. A programming apparatus, comprising: a firstarrangement formulating an automation task to be performed in a form ofa programming language for an automating apparatus, the programminglanguage allowing display, on a display unit, of at least one of: i) afunction plan diagram, ii) an instruction list, and iii) a contact plan,the at least one of the function plan diagram, the instruction list andthe contact plan being provided with at least one network havingoperands and corresponding logic operators, the first arrangementgenerating from the formulated task a control program for execution onthe automating apparatus for controlling an industrial process, thefirst arrangement allowing a process monitoring to be configured througha selection and marking of selected operands in the network; and aprocess monitoring program storing in a logic list corresponding ones ofthe logic operators of the network which correspond to the marked onesof the operands, the corresponding ones of the logic operators beingstored in an order in which the corresponding ones of the logicoperators appear in the network, the logic list being transferrable toan analysis unit, the process monitoring program further storing themarked ones of the operands in an operand list in an order in which themarked ones of the operands appear in the network, the operand listbeing transferrable into the automating apparatus, the automatingapparatus inputting status of the operands in the operand list duringprocessing cycles in a control mode, the operand list with the status ofthe operands being transferrable into the analysis unit for analysis ofa process error.
 2. The programming apparatus according to claim 1,wherein an instantaneous status of the operands in the operands list isinput during the processing cycles in the control mode in one of: i) anevent of an error, and ii) predefined time intervals.
 3. The programmingapparatus according to claim 1, wherein the operands in the network areselectable and markable during the formulation of the automating task.4. The programming apparatus according to claim 1, wherein the markingof the selected operands is displayable one the display unit via adisplay attribute.
 5. The programming apparatus according to claim 4,wherein the display attribute is a predefined color.
 6. The programmingapparatus according to claim 1, wherein a parameter mask assigned to oneof the operands is displayable on the display unit as a function of themarking of the one of the operands, at least one monitoring criterion ofthe one of the operands being definable via parameters.
 7. An analysisarrangement, comprising: an analysis unit analyzing a process error; alogic list transferred to the analysis unit via an automating apparatus,the logic list storing logic operations in an order in which the logicoperations appear in a network having operands marked by a programmingapparatus for process monitoring; and an operand list transferred to theanalysis unit via the programming apparatus, the operand list storingthe marked operands in an order in which the marked operands appear inthe network, the automating apparatus entering status of each of themarked operands in the operand list during processing cycles in acontrol mode, the logic list and the operand list being readable by theanalysis unit for the analysis of the process error, the analysis unitreconstructing the network from the logic operations stored in the logiclist and states of the marked operands in the operand list.